package Controller.FilialController;

import javax.swing.JOptionPane;

import DAO.FilialDAO;
import Entidade.Filial;
import Model.FilialModel.FilialConsultaModel;
import View.FilialView.FilialView;
import framework.mvc.GenericController;

public class FilialConsultaController extends GenericController<Filial> {
	public FilialConsultaController() {
		super(new FilialConsultaModel(), new FilialDAO());
	}

	public void novo() {
		FilialView filialview = new FilialView();
		filialview.abrir();
		view.atualizarView();
	}

	public void alterar() {
		view.atualizarModel();
		Filial filialSelecionado = ((FilialConsultaModel) model)
				.getFilialSelecionado();
		if (filialSelecionado == null) {
			JOptionPane.showMessageDialog(null,
					"Selecione o Filial que deseja alterar", "Erro",
					JOptionPane.ERROR_MESSAGE);

		} else {
			FilialView filialView = new FilialView();
			filialView.getModel().setEntidade(filialSelecionado);
			filialView.atualizarView();
			filialView.abrir();
			view.atualizarView();
		}
	}

	public void excluir() {
		view.atualizarModel();
		Filial filialSelecionado = ((FilialConsultaModel) model)
				.getFilialSelecionado();
		if (filialSelecionado == null) {
			JOptionPane.showMessageDialog(null,
					"Selecione o Filial que deseja excluir", "Erro",
					JOptionPane.ERROR_MESSAGE);
		} else {
			if (JOptionPane.showConfirmDialog(null,
					"Deseja realmente excluir este Filial?") == JOptionPane.YES_OPTION) {
				getDao().excluir(filialSelecionado);
				view.atualizarView();
			}
		}
	}

	public void fechar() {
		view.dispose();
	}
}
